home *** CD-ROM | disk | FTP | other *** search
/ Atari Forever 4 / Atari Forever 4.zip / Atari Forever 4.iso / SERIE_DM / DM_154 / DM_154.MSA / TCBVIEW.LST < prev    next >
File List  |  1986-02-06  |  2KB  |  113 lines

  1. ' Hurra! ein Module hat am Anfang den SNG!
  2. ' TCB View - liest das TCB Soundtracker Songformat (Atari)
  3. ' 2 Bytes für einen Eintrag = 1 Byte Notenwert + 1 Byte Attribut
  4. '
  5. ' "AN COOL!": Byte 1-8
  6. ' Byte 9-11: 00
  7. ' Anzahl Patterns: Byte 12
  8. ' Speed: Byte 13
  9. ' Byte 14: 00
  10. ' Patternliste: ab Byte 15 (128 Bytes)
  11. ' Länge der Patternliste: Byte 143
  12. ' Byte 144: 00
  13. ' Sampleliste: ab Byte 145 (128 Bytes)
  14. ' Patterns: ab Byte 273 (je 512 Bytes)
  15. '
  16. ' CRSR DOWN: eine Seite runter
  17. ' CRSR UP  : eine Seite rauf
  18. ' HELP     : Byte ändern
  19. ' ESC      : Speichern
  20. ' F10      : Quit
  21. '
  22. FILESELECT "\*.mod","",n$
  23. IF n$=""
  24.   EDIT
  25. ENDIF
  26. OPEN "i",#1,n$
  27. l=LOF(#1)
  28. IF l>32767
  29.   l=32767
  30. ENDIF
  31. a$=INPUT$(l,#1)
  32. CLOSE
  33. '
  34. p=273         ! Offset für Pattern 0: 273
  35. z=0
  36. REPEAT
  37.   IF p<1000
  38.     PRINT "0";
  39.   ENDIF
  40.   IF p<100
  41.     PRINT "0";
  42.   ENDIF
  43.   IF p<10
  44.     PRINT "0";
  45.   ENDIF
  46.   PRINT p;" ---- ";
  47.   FOR i=0 TO 7
  48.     c$=MID$(a$,p+i,1)
  49.     IF ASC(c$)<16
  50.       PRINT "0";
  51.     ENDIF
  52.     PRINT HEX$(ASC(c$));
  53.     IF i MOD 2=1
  54.       PRINT "  ";
  55.     ENDIF
  56.   NEXT i
  57.   OPEN "o",#1,"vid:"
  58.   PRINT #1;MID$(a$,p,8);
  59.   CLOSE
  60.   PRINT
  61.   INC z
  62.   IF z=23
  63.     z=0
  64.     i=INP(2)
  65.     IF i=196
  66.       p=l
  67.     ENDIF
  68.     IF i=226
  69.       INPUT "Byte Nr. ",bt
  70.       PRINT "Old Value: ";
  71.       c$=MID$(a$,bt,1)
  72.       IF ASC(c$)<16
  73.         PRINT "0";
  74.       ENDIF
  75.       PRINT HEX$(ASC(c$));" <-- ";
  76.       INPUT "New Value: ",v$
  77.       MID$(a$,bt,1)=CHR$(VAL("&"+v$))
  78.       p=p-8*23
  79.     ENDIF
  80.     IF i=27
  81.       FILESELECT "\*.sng","",n$
  82.       IF n$<>""
  83.         OPEN "o",#1,n$
  84.         PRINT #1;a$;
  85.         CLOSE
  86.       ENDIF
  87.       p=p-8*23
  88.     ENDIF
  89.     IF i=200
  90.       p=p-2*8*23
  91.     ENDIF
  92.     CLS
  93.   ENDIF
  94.   p=p+8
  95. UNTIL p>=l
  96. '
  97. CLS
  98. PRINT "Sampleliste:"
  99. FOR i=0 TO 15
  100.   PRINT HEX$(i);" ";MID$(a$,145+8*i,8)
  101. NEXT i
  102. i=INP(2)
  103. '
  104. CLS
  105. PRINT "Patternliste:"
  106. len=ASC(MID$(a$,143,1))
  107. FOR i=0 TO len-1
  108.   PRINT i,ASC(MID$(a$,15+i))
  109.   IF (i+1) MOD 23=0
  110.     d=INP(2)
  111.   ENDIF
  112. NEXT i
  113.